namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Provides a convenient wrapper for normalized keyboard navigation. KeyNav allows you to bind
	/// navigation keys to function calls that will get called when the keys are pressed, providing an easy
	/// way to implement custom navigation schemes for any UI component.  The following are all of the possible keys that can be implemented: enter, left, right, up, down, tab, esc,
	/// pageUp, pageDown, del, home, end. Usage:  
	/// var nav = new Ext.KeyNav(&quot;my-element&quot;, {
	/// &quot;left&quot; : function(e){
	/// this.moveLeft(e.ctrlKey);
	/// },
	/// &quot;right&quot; : function(e){
	/// this.moveRight(e.ctrlKey);
	/// },
	/// &quot;enter&quot; : function(e){
	/// this.save();
	/// },
	/// scope : this
	/// });
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;Provides a convenient wrapper for normalized keyboard navigation. KeyNav allows you to bind
	/// navigation keys to function calls that will get called when the keys are pressed, providing an easy
	/// way to implement custom navigation schemes for any UI component.&lt;/p&gt;
	/// &lt;p&gt;The following are all of the possible keys that can be implemented: enter, left, right, up, down, tab, esc,
	/// pageUp, pageDown, del, home, end. Usage:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// var nav = new Ext.KeyNav(&quot;my-element&quot;, {
	/// &quot;left&quot; : function(e){
	/// this.moveLeft(e.ctrlKey);
	/// },
	/// &quot;right&quot; : function(e){
	/// this.moveRight(e.ctrlKey);
	/// },
	/// &quot;enter&quot; : function(e){
	/// this.save();
	/// },
	/// scope : this
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\util\KeyNav.js</definedin>
	[ScriptName("KeyNav")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class KeyNav
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="el">The element to bind to</param>
		/// <param name="config">The config</param>
		public KeyNav(object el, ext.KeyNav_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public KeyNav()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>True to disable this KeyNav instance (defaults to false)</summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("disabled")]
		public bool Disabled;
		
		/// <summary>
		/// The method to call on the {@link Ext.EventObject} after this KeyNav intercepts a key. Valid values are
		/// {@link Ext.EventObject#stopEvent}, {@link Ext.EventObject#preventDefault} and
		/// {@link Ext.EventObject#stopPropagation} (defaults to &apos;stopEvent&apos;)
		/// </summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("defaultEventAction")]
		public string DefaultEventAction;
		
		/// <summary>
		/// Handle the keydown event instead of keypress (defaults to false). KeyNav automatically does this for IE since
		/// IE does not propagate special keys on keypress, but setting this to true will force other browsers to also
		/// handle keydown instead of keypress.
		/// </summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("forceKeyDown")]
		public bool ForceKeyDown;
		#endregion
		
		#region Methods
		/// <summary>Destroy this KeyNav (this is the same as calling disable).</summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("destroy")]
		public void Destroy()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Enable this KeyNav</summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("enable")]
		public void Enable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Disable this KeyNav</summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		[ScriptName("disable")]
		public void Disable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Convenience function for setting disabled/enabled by boolean.</summary>
		/// <definedin>src\util\KeyNav.js</definedin>
		/// <param name="disabled"></param>
		[ScriptName("setDisabled")]
		public void SetDisabled(bool disabled)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
